Trailing-Edge
-
PDP-10 Archives
-
6.1_emacs_manuals_1er
-
emacs/wordab.:ej
There is 1 other file named wordab.:ej in the archive. Click here to see a list.
@W[0 +8+fq(+4)[1
0fo10f"g+q1'
+fq()+4u1
fq1"l 0'
,q1:m(q1+4(]1]0))Id/noB}1`qGa}HEOJJ'JY5H!CImQA,d$}o3Hz>
5b8"5-(s=(:G#Z>{l9y"C"C=4:(;HM[Wg)iv)2+*'.'6+hD!QO`
)go3uD r Y9 "Y
/O <h Q} dL t|
XC
.
$ |
2y
E)
W;
h
H
y
: `.s<OPOwZ^{!mu{c8
aF
^v
1
F{[
V[
c[
k~6k(nw:n?KZ#[VtmKgw~y& Add Word Abbrev& Attach Word Abbrev Hook & Check And Make Word Abbrev
& Expand& Global Expand& Global or Local$& Make Non-Usage Abbrev Variable & Make Usage Abbrev Variable& Setup WORDAB Library& Shorten String!& WRDAB Mode or Global Expand& WRDAB Off PO Check& WRDAB On PO Check & WRDAB Process Options Hook& WRDAB Turn Off Ins Char& WRDAB Turn Off Old Char& WRDAB Turn On Ins Char& WRDAB Turn On Old Char%Attach Word Abbrev Keyboard MacroDefine Word AbbrevsEdit Word Abbrevs!Expand Word Abbrevs in RegionInsert Word AbbrevsKill All Word AbbrevsList Word Abbrevs Make These Characters ExpandMake Word Abbrev&Old Word Abbrev Character Describe%Read Incremental Word Abbrev FileRead Word Abbrev FileWord Abbrev Mode
WORDAB&Write Incremental Word Abbrev FileWrite Word Abbrev File&^R Abbrev Expand And Call Old Char$^R Abbrev Expand And Self-Insert^R Abbrev Expand for Tab^R Abbrev Expand Only^R Add Global Word Abbrev^R Add Mode Word Abbrev%^R Inverse Add Global Word Abbrev#^R Inverse Add Mode Word Abbrev^R Kill Global Word Abbrev^R Kill Mode Word Abbrev^R Unexpand Last Word^R Word Abbrev Prefix Mark~DIRECTORY~~DOC~ & Add Word Abbrev#~DOC~ & Attach Word Abbrev Hook&~DOC~ & Check And Make Word Abbrev~DOC~ & Expand~DOC~ & Global Expand~DOC~ & Global or Local*~DOC~ & Make Non-Usage Abbrev Variable&~DOC~ & Make Usage Abbrev Variable ~DOC~ & Setup WORDAB Library~DOC~ & Shorten String'~DOC~ & WRDAB Mode or Global Expand~DOC~ & WRDAB Off PO Check~DOC~ & WRDAB On PO Check&~DOC~ & WRDAB Process Options Hook#~DOC~ & WRDAB Turn Off Ins Char#~DOC~ & WRDAB Turn Off Old Char"~DOC~ & WRDAB Turn On Ins Char"~DOC~ & WRDAB Turn On Old Char+~DOC~ Attach Word Abbrev Keyboard Macro~DOC~ Define Word Abbrevs~DOC~ Edit Word Abbrevs'~DOC~ Expand Word Abbrevs in Region~DOC~ Insert Word Abbrevs~DOC~ Kill All Word Abbrevs~DOC~ List Word Abbrevs&~DOC~ Make These Characters Expand~DOC~ Make Word Abbrev,~DOC~ Old Word Abbrev Character Describe+~DOC~ Read Incremental Word Abbrev File~DOC~ Read Word Abbrev File~DOC~ Word Abbrev Mode~DOC~ WORDAB,~DOC~ Write Incremental Word Abbrev File ~DOC~ Write Word Abbrev File,~DOC~ ^R Abbrev Expand And Call Old Char*~DOC~ ^R Abbrev Expand And Self-Insert"~DOC~ ^R Abbrev Expand for Tab~DOC~ ^R Abbrev Expand Only#~DOC~ ^R Add Global Word Abbrev!~DOC~ ^R Add Mode Word Abbrev+~DOC~ ^R Inverse Add Global Word Abbrev)~DOC~ ^R Inverse Add Mode Word Abbrev$~DOC~ ^R Kill Global Word Abbrev"~DOC~ ^R Kill Mode Word Abbrev~DOC~ ^R Unexpand Last Word$~DOC~ ^R Word Abbrev Prefix Mark~DOC~ ~FILENAME~~FILENAME~
~INVERT~
WORDABj0fo..qWORDAB Loaded-10897125851"n
0m.CWord Abbrevs ModifiedNon0 means definitions have changed
0m.CSave Word Abbrevs* 1 => save all abbrevs on exit, -1 => just save incrementals
0m.CAdditional Abbrev Expanders
0m.COnly Global Abbrevs
0m.CWord Abbrev Mode
0m.CWORDAB Setup HookIf non0 is Teco code to run when WORDAB loaded (it must set keys)
@:i*!~@#;$%^&*-_=+[]()\|:`"'{},<.>/?
m.CWORDAB Ins CharsSelf-inserting expanders
@:i*||m.CWORDAB Old CharsHairy expanders
0m.CWord Abbrev Prefix MarkPoint of prefix mark
0m.CLast Word Abbrev DefinedVariable name
0m.CReadable Word Abbrev Files* Non-0 means write human-readable kind
10897125851m.vWORDAB Loaded'
[1[2
6*5fsQVectoru.e
qOnly Global Abbrevs"e
m.m& WRDAB Mode or Global Expandu:.e(0)'
"#
m.m& Global Expandu:.e(0)'
m.m& Expandu:.e(1)
0u:.e(2)
0u:.e(3)
0u:.e(4)
@:i1|(
m(m.m& WRDAB Process Options Hook)
0fo..qWord Abbrev Mode"n
i Abbrev'
)|
0fo..qSet Mode Line Hooku2
q2"e q1'"# :i*21'm.vSet Mode Line Hookw
0fo..qExit Hookf"ew :i*'u1
@:i*|1
qWord Abbrevs Modified"n
qSave Word Abbrevsf"gw
m(m.mWrite Word Abbrev File)'
"#"l m(m.mWrite Incremental Word Abbrev File)'''
|m.vExit Hookw
:fo..qWord Abbrev Modeu1
@:i:..q(q1+2)|!* 1 => turn on Word Abbrev Mode, 0 => turn it off!
1fsModeChangew |
:fo..qOnly Global Abbrevsu1
@:i:..q(q1+2)|!* 1=> use only global word abbrevs, 0 => both kinds!
qWORDAB Setup Hook[1
"n m.m& Global Expandu:.e(0)
q1"e m.m^R Add Global Word Abbrevu:.x()
m.m^R Inverse Add Global Word Abbrevu:.x()''
"# m.m& WRDAB Mode or Global Expandu:.e(0)
q1"e m.m^R Add Mode Word Abbrevu:.x()
m.m^R Inverse Add Mode Word Abbrevu:.x()''
|
:fo..qAdditional Abbrev Expandersu1
q:..q(q1+1)f"n,m(m.mMake These Characters Expand)'w
@:i:..q(q1+2)|!Non-standard characters that should cause expansion.!
,:m(m.mMake These Characters Expand)
|
0fo..qWORDAB Setup Hooku1
q1"n m1'
"#
m.m^R Unexpand Last Wordu:.x(U)
m.m^R Abbrev Expand Onlyu... w
m.m^R Word Abbrev Prefix Mark!"!u..'
m.m^R Add Global Word Abbrevu:.x(+)
m.m^R Inverse Add Global Word Abbrevu:.x(-)
qOnly Global Abbrevs"n
m.m^R Add Global Word Abbrevu:.x()
m.m^R Inverse Add Global Word Abbrevu:.x()'
"#
m.m^R Add Mode Word Abbrevu:.x()
m.m^R Inverse Add Mode Word Abbrevu:.x()''
1fsModeChangew 3[0[1[2[3[4[5 0[6
:,.f-zu0j
[.1[.2
0[Auto Fill Mode
0u..h
qModeu2
qWORDAB Ins Charsu1
qWORDAB Old Charsu4 :i114
:i*Expanding abbrevs[..j fr
f<!DONE!
@:f1l .-(q0+z);
1:<-fwu4u3>"e
q3,q4x.1
:fo..qX .1 2 Abbrevf"gu.2 oEXP'w
:fo..qX .1 * Abbrevf"lw :c !<!>'u.2
!EXP!
1u5
< q6"e 2,m.i
fi:fcu4'
"# 32u4'
q4-!"e 1u6 32u4'
q4-32"e q5"n m:.e(1)' 1;'
q4-,"e q5"n m:.e(1) 0u5'"# fg' !<!>'
q4-."e q5"n m:.e(1)' f;DONE'
q4--"e
q5"n -:@f-*0,0-1uWord Abbrev Prefix Mark
m:.e(1)
0u5'
"# fg' !<!>'
q4-"e 0u5 !<!>'
q4-F"e fsVZ-q0f[VZ
m(m.m^R Fill Paragraph)w
f]VZ
@v 0u5 !<!>'
q4-"e f;DONE'
q4-14."e f+ !<!>'
q4-"e 1;'
q4-?"e 4110.fsRereadw !<!>'
fg q4m(m.m& Charprint) ft is meaningless here.
4110.fsRereadw
>
'
@f1l >
V!^R Abbrev Expand !
.(
1f<!ExpandQuit!
0,0a"c m:.e(0)'
>
)-."e ff"g fg'' 1
!^R Abbrev Expand !
1f<!ExpandQuit!
ff"E
0,0a"c m:.e(0)''
[.1 8[..e
q..0fs^RIndirect:\u.1 ]..e
f @mWRDAB Old .1
> 1m!^R Abbrev Expand !
1f<!ExpandQuit!
ff"e 0,0a"c m:.e(0)''
f@m(q..0@fs^RIndirect@fs^RInit)
> 1!!^R Abbrev Expand !
1f<!ExpandQuit!
0,0a[.1
.,.f
f@mWRDAB Old 11f
0,0a"B q.1"C
ff"E
;-@f k
0,0a"c m:.e(0)'
f @mWRDAB Old 11f'''
> 1_!^R Abbrev Expand !
ff"E
0,0a"c m:.e(0)''
. m.vWord Abbrev Prefix Markw
.,(i-). `-fwx*[.1 qMode[.2
:fo..qX .1 .2 Abbrevf"lw :fo..qX .1 * Abbrevf"lw''u.2
:m:.e(1)7-fwx*[.1
:fo..qX .1 * Abbrevf"lw'[.2
:m:.e(1)%[..0
q:..q(q.2+2)[.3
q.3fp-101"N :i:..q(q.2+2)1'
"# .(g.3)j .(1a-#"n \+1:\u:..q(q.2+2)')j fq.3d'
0ff(x:.e(2)):[.6w
-fq.1d
0,0a--"E
qWord Abbrev Prefix Mark+1-."E
:i.1-.1
-d''
.[.4
g:..q(q.2+1)
.[.5
-1[.7
fq.1[.8
<%.7-q.8;
q.7 :g.1"a0;'>
q.7-q.8"l q.7:g.1"u
q.4j :fwl
1 @fc
q.8-1 :g.1"u
0fo..qWordab All Caps"e
0u.3
:< 2:fwl .-q.5; %.3w
1 @fc >w
q.3"e q.4,q.5 @fc''
"#
q.4,q.5 @fc''
''
q.5j
q.4,q.5 f
ff-1"G oUPDATE '
qAuto Fill Mode"e oUPDATE'
m.m^R Auto-Fill Space[S
0f/2< .-(0mSf
).@; >
!UPDATE!
q.6,.x:.e(3)
.u:.e(4)
0:g:..q(q.2+2)-#"e
q:..q(q.2)u.4
fq.1+3,fq.4-7:g.4u.4
mX .1 .4-WABMAC Abbrev'
M[0[1[2[3[4[5
.-(q:.e(4)-(fq:.e(3)-fq:.e(2)f"lw 0'))"l
.u4 fnq4j'
"# q:.e(4)-.f"g+.'"#w .'-zu4 fnq4+zj'
q:.e(4):j"e oNONE'
q:.e(3)u0
fq0u1 q1:"g oNONE'
.-q1f"l oNONE'u2
q:.e(2)u3 q3fp"l oNONE'
q2,.f~0"n
!NONE! fg @ft
No last expansion 0fsEchoActivew 1 '
q2,.k
.,(g3).f
q0u:.e(2)
q3u:.e(3)
.u:.e(4)
0{[0
ff&2"n
uOnly Global Abbrevs'
ff&1"n "'gu0'
"# qWord Abbrev Mode"'eu0'
q0,0fuWord Abbrev Mode
0x[0[1[2[P
m.m& CharprintuP
1,(:i*Type word abbrev key to describe: )m.i
@:fiu0
q0fs^RCMacrou1
q1-(m.m^R Abbrev Expand And Self-Insert)"e
Afs^RInitu2'
"# q1-(m.m^R Abbrev Expand for Tab)"e
qWRDAB Old 11u2'
"# q1-(m.m^R Abbrev Expand And Call Old Char)"e
8[..e q0:\u1 ]..e
qWRDAB Old 1u2'
"# q1-(m.m^R Abbrev Expand Only)"e oM-?'
"# q0mp ft does not run an expander.
oM-?''''
ftAfter possibly expanding,
q2,q0f[^RCMacro
!M-?! :m(m.m^R Describe){[.1[.2[.4[E
q..o[B
g(q..o(f[BBindw))
bj 0s <:s;ric>
zj i
bj
< @f
l .-z;
fwfx.1
0,1a-:"n :iENo : ending abbrev .1 oERR'
d
@f k
0,1a-("E d :flfx.2 d'
"# :i.2*'
@f k
@f#0123456789 fx.4
fq.4"E :i.40'
@f k
0,1a-34"N :iENo quote to start expansion for .1 oERR'
d i:i*
0s" !'! <:s"e :iENo quote to end expansion for .1 oERR'
0,1a-":@; c> !'!
15.,1a-15."n
:iEPossible unquoted " in expansion for .1 -- final " not at end of line
oERR !''!'
-d
iM.VX .1 .2 Abbrevw
i M.CX .1 .2 Abbrev.4
>
j 0s"" <:s; -d> !''!
ff&2"n m(m.mKill All Word Abbrevs)'
m(hx*)
1uWord Abbrevs Modified
j g( 0fo..qLately Changed Abbrevsf"ew :i*' ) i
hx*m.vLately Changed Abbrevsw
!ERR!
0l .fsVBw 0u.2 zj <-l b-.; %.2w>
qb[..o
zj <q.2-1f(:;)u.2 -l>
qe fsERR r:i*( :i*( :i*[.3)[.2)[.1
fq.3"E qMODEu.3'
q.1,q.2 m(m.m& Check And Make Word Abbrev).3
w 1 ~[0[1
ff&2"n u0'
"# :i0'
qWORDAB Ins Charsu1
:iWORDAB Ins Chars10
:m(m.m& WRDAB Process Options Hook)n"L f @:m(m.m^R Kill Mode Word Abbrev) '
qMode[.1
f @m(m.m& Add Word Abbrev).1.1 Abbrev
w 1 e"L f @:m(m.m^R Kill Global Word Abbrev) '
f @m(m.m& Add Word Abbrev)*Global Abbrev
w 1 QqMode[.4
.-z[.0
-:fwl
-fwx*[.1
1,m(m.m& Read Line)Expansion for .4 abbrev ".1": [.2 !''!
q.2"e 1'
fq.2"e 1'
m(m.mMake Word Abbrev).1.2
@m(m.m^R Abbrev Expand Only)f
q.0+zj
1H.-z[.0
-:fwl
-fwx*[.1
1,m(m.m& Read Line)Expansion for global abbrev ".1": [.2 !''!
q.2"e 1'
fq.2"e 1'
m(m.mMake Word Abbrev).1.2*
@m(m.m^R Abbrev Expand Only)f
q.0+zj
1}:i*Fundamental fo..qMODE[.2
1, m(m.m& Read Line)Kill .2 Abbrev: [.1
q.1"E '
0fo..qX .1 .2 Abbrev"E
0fo..qX .1 * Abbrev"E
FG @ft".1" is neither .2 mode nor global abbrev. !''!
0fsEchoActivew 1 '
"# FG @ft".1" is not a .2 mode abbrev, but is a global abbrev.
Kill it? !''!
1m(m.m& Yes Or No)"E
@ft Not killed. 0fsEchoActivew 1 '
:i.2*''
m(m.mKill Variable)X .1 .2 Abbrev
m(m.mKill Variable)X .1 .2-WABMAC Abbrev
1uWord Abbrevs Modified
0fo..qLately Changed Abbrevsf"ew :i*'u.4
@:i*|.4
mkX .1 .2-WABMAC Abbrev
mkX .1 .2 Abbrev| m.vLately Changed Abbrevsw
w 1 1, m(m.m& Read Line)Kill Global Abbrev: [.1
q.1"E '
0fo..qX .1 * Abbrev"E
FG @ft".1" is not a global abbrev.
0fsEchoActivew 1 !''! '
m(m.mKill Variable)X .1 * Abbrev
m(m.mKill Variable)X .1 *-WABMAC Abbrev
1uWord Abbrevs Modified
0fo..qLately Changed Abbrevsf"ew :i*'u.4
@:i*|.4
mkX .1 *-WABMAC Abbrev
mkX .1 * Abbrev| m.vLately Changed Abbrevsw
w 1 (:i* [.2
[.3[.4[.5.[.6 fnq.6j
1:<fs^RMark+1f"G-1 u.3 1;'
"E .(:f(j)u.3)j 1;'
"N -fwl .u.3 fwl 1;'
>"N FG F*w 1 '
Q.3,. fx.3
m.m& Shorten String[S
m.m& Read Line[R
q.3mSu.4
1,mR for ".4": [.1 !''!
q.1"E 1 '
q.1,q.3 m(m.m& Check And Make Word Abbrev).2
1
:i*[2 [1 [3
:iLast Word Abbrev DefinedX 1 2 Abbrev
q1[4 [5
fq1< 0,1:g4u5
5"b fg @ft
Break chars not allowed in abbrev 0fsEchoActivew 1 '
1,fq4:g4u4>
m.m& Shorten String[S
0fo..qX 1 2 Abbrevu4
q4"N f=34"N FG
q4mSu4
@ftRedefine "1" from "4"? !''''!
1m(m.m& Yes or No)"E @ftNot redefined.
0fsEchoActivew 1 ''
"# @ftAlready so defined.
0fsEchoActivew 1 ''
q3m.vX 1 2 Abbrevw
m.cX 1 2 Abbrev0
1uWord Abbrevs Modified
f[BBind
0fo..qLately Changed Abbrevsf"ew :i*'u4
g4
@i|
mvX 1 2 Abbrev|
.(g3)j
0s <:s; r i c>
zj @i|0|
hx*m.vLately Changed Abbrevsw
+fq(:i*)"g
:i*C fsEchoDisplayw
@ftWarning: M-X Edit Word Abbrevs ignores its string argument --
it does not filter. All abbrevs are being edited.
0fsEchoActivew'
f[BBind
m(m.mInsert Word Abbrevs) bj
:i*Edit Word Abbrevs[..J
f<!DoneEditWordAbbrevs!
1@:<
1,m(m.mDefine Word Abbrevs)
f;DoneEditWordAbbrevs >w
>
fsEchoDisplayw CfsEchoDisplayw
@ftWord abbrevs redefined.
0fsEchoActivew
1 f[BBind
:ftabbrev: (mode) count "expansion"
1,(f)m(m.mInsert Word Abbrevs)
fsListen"e ftDone.
'"# ftFlushed.
'
1j[1[2[3[4[5[6[7 [9 1,fInsert abbrevs matching: f"e'[0
fq0"g 0s0'"# 0u0'
f"n&7'"#w 7'u1
.f[VB fsZ-.f[VZ
"n m.m& Maybe Flush Output[A'
:fo..qX u9 q9"l -q9u9'
fq..q/5-q9/(q:..q(0))(
q9-1u9
)<
q:..q(%9)u2
q:..q(%9)u3
q:..q(%9)u4
.u5
q3fp"l oNEXT'
g2
-7f~ Abbrev"n oNEXT' -7d
q5j 2f~X "n oNEXT' 2d
@:f l d .u6
zj .u7 g3
q0"n
q1&1"n q5,q6:fb"l oINS''
q1&2"n q7,z:fb"l oINS''
q1&4"n q6,q7:fb"l oINS''
oNEXT'
!INS!
q6j
.,q7f=*"e
d i: '
"# q7-zu7
i: (
q7+zj i) '
g4
i "
<@:f"l .-z; i" c>
i"
!''''!
"n
q5,.t'
.u5
!NEXT!
q5,zk
"n ma1;'
>
ht[.1[.2[.3
q..q[..o zj
:f<!DONE! 15r
1<
0,2:g(.fsWord)u.3
f~.3X f"N "L f;DONE'
1;'
.fsWordu.3
.+5fsWordu.2
q.2fp:;
fq.3-7,fq.3 :g.3 u.3
f~.3 Abbrev"E 15d'
>
>
0uWord Abbrevs Modified
:i*m.vLately Changed Abbrevsw
f[DFile 1f[FnamSyntax
0fo..qLast Word Abbrev Filef"n fsDFilew'
"#w etDSK:WORDAB DEFNS fsHSnamefsDSnamew'
4,4fWord Abbrev Filef"ew'fsDFilew
fsDFilem.vLast Word Abbrev Filew
e?"n '
f[BBind er @y
10f~m.m& Make "n
:m(m.mDefine Word Abbrevs)'
m(hx*)
.[.0[.1[.2[.3[.4[.5 f[DFile
1f[FnamSyntax
0fo..qLast Word Abbrev Filef"n fsDFilew'
"#w etDSK:WORDAB DEFNS fsHSnamefsDSnamew'
4,1fWord Abbrev Filef"ew'u.0
et.0 fsDFileu.0
q.0m.vLast Word Abbrev Filew
f[BBind
qReadable Word Abbrev Files"n
m(m.mInsert Word Abbrevs)
oWRITE'
:fo..qX u.2
q.2"L -q.2u.2'
ff&1"E
@i|m.m& Make Usage Abbrev Variable[V
|'"#
@i|m.m& Make Non-Usage Abbrev Variable[V
|'
iq..q[..o
0s
fq..q/5-q.2/3(
q.2-1u.2
)< q:..Q(%.2)u.3
q:..Q(%.2)u.4
q:..Q(%.2)u.5
q.4fp"L oNEXT'
f~(0,2:g.3)X "N oNEXT'
f~(fq.3-7,fq.3:g.3) Abbrev"N oNEXT'
iMV.3
.(g.4)j <:s; r i c> zj i
ff&1"E g.5 i'
i
!NEXT! >
!WRITE!
eihpef.0
er fsIFileu.0 ec @ft
Written: .0
0uWord Abbrevs Modified
0fsEchoActivew 1 [1
e[e\ fne^e] f[DFile 1f[FNamSyntax
etDSK: fsHSNamefsDSNamew etINCABS >
4,1fIncremental Filef"e w'u1
f[BBind
g(0fo..qLately Changed Abbrevsf"ew :i*')
z"e :i*No incremental abbrevs to write fsErr'
j @i|m.m& Make Non-Usage Abbrev Variable[V q..q[..o
m.mKill Variable[K
|
eihpef1
er fsIFileu1 ec @ft
Written: 1
0uWord Abbrevs Modified
0fsEchoActivew 1?[1 f[DFile
e[ fne] f[DFile 1f[FNamSyntax
etDSK: fsHSNamefsDSNamew etINCABS >
4,4fIncremental word abbrev filef"e w'u1
et1
e?"e
f[BBindw er @y
j @:i1|m.m& Make Non-Usage Abbrev Variable[V q..q[..o
m.mKill Variable[K
|
fq1f=1"e fq1c'"# g1'
.,zx*m.vLately Changed Abbrevsw
m(hx*)'
:i*[.1
:i*[.2
:i*[.0
:FO..Q.1[.3
Q.3"L -Q.3*5J 15,0I 15R q.1,.FSWORDW 0,.+10FSWORDW
-Q.3U.3'
q.3+1*5j q.2,.fswordw
5c q.0,.fswordw :i*[.1
:i*[.2
:FO..Q.1[.3
Q.3"L -Q.3*5J 15,0I 15R q.1,.FSWORDW 0,.+10FSWORDW
-Q.3U.3'
q.3+1*5j q.2,.fswordw
K[1[2[3[4
qModeu2
1,fAbbrev: u1
1,fMode (2): u3
fq3"n q3u2'
:fo..qLast Kbd Macro"e :i*No last keyboard macrofsErr'
qLast Kbd Macrou4
m(m.m& Attach Word Abbrev Hook)124
|[1[2[3[4[5
:i*( :i*( :i3 )u2 )u1
f[BBind
fq1"e qLast Word Abbrev Definedf"ew :i*No last word abbrevfsErr'u1
2,32f1u2
2,q2:g1(
q2+1,fq1-7:g1u2
)u1'
:fo..qX 1 2 Abbrevu4
q4"l
:i*CfsEchoDisplayw
q2u5 f=5*"e :i5global'
"#
:fo..qX 1 * Abbrev"g
@ft1 is not a 2 abbrev. Did you mean global?
1m(m.m& Yes or No)"n :i2* oOK'''
@ft1 is not a 5 abbrev. Want to define it?
1m(m.m& Yes or No)"e '
1,m(m.m& Read Line)Expansion for 5 abbrev 1: f"e'u5
q5m.cX 1 2 Abbrev0w
i
mvX 1 2 Abbrev
.(g5)j <:s;ric>
zj i0'
!OK!
q3m.vX 1 2-WABMAC Abbrevw
m.cX 1 2-WABMAC Abbrev0w
m.cX 1 2 Abbrev#0w
i
mvX 1 2-WABMAC Abbrev
.(g3)j <:s;ric>
zj i0
m.cX 1 2 Abbrev#0w
j g(0fo..qLately Changed Abbrevsf"ew :i*')
hx*m.vLately Changed Abbrevsw
1uWord Abbrevs Modified
#[.0[.1[.6[.7[.8 Afs^RInit[.2
m.m^R Abbrev Expand for Tabu.0
0fo..qWord Abbrev Mode"N
qI-q.0"n
qIm(m(m.m& Global or Local)I)WRDAB Old 11
q.0uI'
m.m& WRDAB On PO Checku.0
m.m& WRDAB Turn On Ins Charu.7
m.m& WRDAB Turn On Old Charu.8
'
"# qI-q.0"E
qWRDAB Old 11uI'
m.m& WRDAB Off PO Checku.0
m.m& WRDAB Turn Off Ins Charu.7
m.m& WRDAB Turn Off Old Charu.8
'
qWORDAB Ins Charsu.1
m.m^R Abbrev Expand And Self-Insertu.6
m.0
qWORDAB Old Charsu.1
m.m^R Abbrev Expand And Call Old Charu.6
q.8u.7
m.0
@-1[.4[.5
< %.4-fq.1;
q.4:g.1u.5
q.5-q.6"E q.5m.7' >
@-1[.4[.5
< %.4-fq.1;
q.4:g.1u.5
q.5-q.6"N q.5m.7' >
[.0
q.0[.4
q.4-q.2"e
m.m^R Abbrev Expand And Self-Insertu.0
'
q.4fp"g
f~.4!^R Abbrev Expand -19"e ''
qWORDAB Ins Chars[.1
f.1[.2
0,q.2:g.1[.3
q.2+1,fq.1:g.1u.1
:iWORDAB Ins Chars.3.1
qWORDAB Old Charsu.1
:i.2
:iWORDAB Old Chars.1.2
m.m^R Abbrev Expand And Call Old Charu.0
[.6 8[..e :\u.6 ]..e
q.4m(m(m.m& Global or Local).0)WRDAB Old .6
;[.0
q.0[.1
q.1fp"G
f~.1!^R Abbrev Expand -19"E
''
m.m^R Abbrev Expand And Call Old Charu.0
[.6 8[..e :\u.6 ]..e
q.1m(m(m.m& Global or Local).0)WRDAB Old .6
[.0
@fs^RInitu.0 E[.6 8[..e :\u.6 ]..e
0fo..qWRDAB Old .6[.1
[.2
q.1u.2 v[1[2[3[9
[ -1:fsQPHome(]*w)u3
qBuffer Indexu9 q9+8u2
q:.b(q9)-9/2u1
q1< q:.b(%2)-q3"e q.L ' %2w >
q.V b[.3[.4[.5
fq.3-40"G
0,16:g.3u.4
fq.3-16,fq.3:g.3u.5
:i.4.4.....5'
"# q.3u.4'
q.4 AWord Abbrev Mode package. Documentation in INFO under EMACS.S Run when WORDAB is loaded.
If you do non-trivial hacking of Word Abbrev mode, you should be on
the WORDAB@MIT-AI mailing list.
Calls variable WORDAB Setup Hook, if it exists. That can do things
like auto-loading a file of abbreviations. It must also connect
keys.
If the hook does not exist (or is 0), we will connect the standard
Word Abbrev mode keys:
C-X C-A runs ^R Add Mode Word Abbrev,
C-X C-H runs ^R Inverse Add Mode Word Abbrev,
C-X + runs ^R Add Global Word Abbrev,
C-X - runs ^R Inverse Add Global Word Abbrev,
M-' runs ^R Word Abbrev Prefix Mark,
C-M-Space runs ^R Abbrev Expand Only, and
C-X U runs ^R Unexpand Last Word.
Appends to variables Set Mode Line Hook and Exit Hook.
This object file was compressed on 8:35am Sunday, 1 March 1981
by ECC on MC from the following source libraries:
EMACS1; DSK: WORDAB 614, 03/01/81 08:35:31eC Finds abbrevs in region; offers to expand each.
Searches region for word abbrevs. When one is found, the buffer is
displayed with the cursor just after the abbrev. The character
you then type determines what action is taken:
Space expands the abbrev and goes on to the next one.
Rubout goes on to the next one without expanding.
Altmode exits this command without expanding.
Period expands and then exit.
Comma expands and stays so you can look it over. Then type one
of these characters again.
Exclamation mark expands this and each remaining abbrev without
asking.
Hyphen expands and glues to a prefix and stays. The prefix and
abbrev should be separated by a "-".
F causes this paragraph to be filled.
C-R enters a recursive edit level, so you can move point or do
minor editing.
C-L clears and redisplays the screen and stays.u^R Expand abbrev before point, but insert nothing.
If given an argument, will feep if last word isn't an abbrev. ^R Expand abbrev before point, then old action.
The "old" function run by the character after the expansion check may
be described by M-X Old Word Abbrev Character Describe which will
ask you to type the character to describe.
Explicit numeric argument inhibits expanding.S Expand last word if an abbrev.
Giving an explicit numeric argument inhibits expansion, just inserting
that many copies of character that ran this.1^R Expand abbrev at point if old Tab action inserts.
If Tab will not insert any whitespace at point, no expansion is
attempted. (E.g. the Tab is reindenting the line, but point is
mid-line.)
The "old" function run by Tab after the expansion check may be
described by M-X Old Word Abbrev Character Describe which will ask
you to type the character to describe.
Explicit numeric argument inhibits expanding.^R Remember point as end of an abbrev prefix.
Expansion of the prefix may occur unless an numeric argument is given.
Remembers this point as a prefix-end, and inserts a hyphen (which will
disappear if an abbrev expands just after that hyphen). E.g. you
might type "inter", mark that as a prefix (you see "inter-"), and
then type an abbrev ("inter-comm " which becomes
"intercommittee").S Maybe expand previous word.
Expand previous word if mode or global abbrev.
This goes on Q:.E(0) if user wants both modals and globals.^S Expand previous word if global abbrev.
This goes on Q:.E(0) if user wants only globals.TS .1 is abbrev, .2 is ..Q offset
This is the abbrev-expander, goes on Q:.E(1).
A pre-comma numeric argument inhibits auto-filling. (Since ^^M, e.g.
is called by some to insert CRLF but not auto-fill.)g^R Undo last expansion, leaving the abbrev.
Another ^R Unexpand Last Word will redo the expansion.
An effort is made to keep point unchanged, but if unexpanding causes a change
in the text around point, point may move.?C Turn Word Abbrev mode on or off.
Given no argument, the mode is toggled (turned on if it was off, and
turned off if it was on).
Given positive argument, the mode is always turned on.
Given 0 or negative argument, the mode is turned off.
Giving this command 1 as a pre-comma argument means that you only use
global abbrevs, and things are set up to be faster (e.g. faster
expansion checking since it doesn't have to check both global and
local abbrevs).
Each of the following chars: ~@#;$%^&*()-_=+[]\|:'`"{},<.>/?!, Space,
Return, and Tab, will cause expansion of abbrevs followed by their
normal action.
If you wish to supply additional characters that should expand, see
the description of Make These Characters Expand.
If you wish to completely replace this list of expanding characters,
set the variable WORDAB Ins Chars in your init or EVARS file to
the string of characters that should expand.>C Tell what a character does after expanding.
This command will ask you to type a character, e.g. Space, which runs
the word abbrev expander and then calls the old definition for
that character.
The description for that old definition will be given, e.g. the
description for ^R Auto-Fill Space.bC Define abbrevs from a definition list in the buffer.
Buffer should contain the word abbrev definition list.
If given a pre-comma numeric argument, all abbrevs will be killed
before defining the new ones from the buffer. (The old abbrevs
are not killed until we are sure that the syntax of the buffer's
definition list is correct.)dC Define one word abbrev, global or for any mode.
After doing M-X Make Word Abbrevfoofind outer otter, typing "foo"
will automatically expand to "find outer otter".
3rd string argument, if any, is the mode for the abbrev.
No 3rd string argument means use the current mode.
3rd string argument = "*" means this make a global abbrev.
This command defines just one abbrev, as compared to Define Word
Abbrevs which defines several abbrevs from a list in the buffer.C Add characters to the list of abbrev expanders.
E.g. M-X Make These Characters Expand1234567890 will cause the
digits to expand any abbrev before them, just like #$%.,/? etc.
Note, though, that this will not necessarily make digits be
word-delimiters.
If your keyboard has Top-characters (e.g. Top-Z is alpha), you can
have them be expanders too, though some of them can't be typed to
^R Extended Command (namely Top-Q and Top-M). Also: if you
put this command into an init file, be careful to double any use
of Top-S (namely C-]).
You can have an EVARS file (as opposed to an init file) declare
additional expanders too in a simple way -- just put the
characters into the variable Additional Abbrev Expanders. E.g. to
make the digits expand, put the following line into your EVARS
file (you need the "*" to force it to be a string):
Additional Abbrev Expanders:*1234567890 (Top-character users: in an
EVARS file you would not need to double Top-S.)^R Define an abbrev for word(s) before point.
Negative numeric argument means to delete the word abbrev. (If there
is no such mode abbrev, but there is a global, it asks if it
should kill the global.)
Positive numeric argument (>0) means expansion is that many last
words.
Zero numeric argument means expansion is between point and MARK.
(Extension writers: If Teco's fs^RMark set, that means expansion is
between . and fs^RMark.)
The abbrev is only effective when in the current mode (e.g. LISP).^R Define an abbrev for word(s) before point.
Negative numeric argument means to delete the word abbrev.
Positive numeric argument (>0) means expansion is that many last
words.
Zero numeric argument means expansion is between point and MARK.
(Extension writers: if fs^RMark set, that means expansion is between
. and fs^RMark.)
The abbrev is effective in all major modes.e^R Define the expansion for abbrev before point.
Numeric argument n means nth word before point is to be an abbrev
(e.g. you thought it already was, and you are now n words
beyond). No numeric argument means the word just before point,
same as argument of 1.
Reads a one-line expansion for the abbrev, defines it, and expands
it.^R Define the expansion for abbrev before point.
Numeric argument n means nth word before point is to be an abbrev
(e.g. you thought it already was, and you are now n words
beyond). No numeric argument means the word just before point,
same as argument of 1.
Reads the expansion in the echo area. (This command cannot define
multi-line expansions.)
Defines that abbrev, and then expands the abbrev before point.
Aborts if you abort the line-reading with Rubout, or if the expansion
is null.q^R Remove the definition for one abbrev.
Same as ^R Add Mode Word Abbrev with a negative numeric argument.x^R Remove the definition for one abbrev.
Same as ^R Add Global Word Abbrev with a negative numeric
argument.NS Reads an abbrev for words before point.
Stringarg1 is "*" for global abbrev, and space-modename for a mode
abbrev, e.g. " TECO".
Stringarg2 is & Read Line prompt.
Calls & Read Line to read the abbrev.
ARG non-0 means expansion is last ARG words. (Includes breaks in
between words, but not those before first or after last word.)
ARG 0 means expansion is between point and MARK.
If fs^RMark set, then for any ARG expansion between . and fs^RMark.
If the abbrev is already defined, user is asked if redefinition
wanted.
The abbrev must not contain any break characters.
Abbrev variable is constructed: X abbreviation <mode/*> Abbrev. Its
value is a string which is the expansion.LS Basic definer subroutine.
Pre-comma numeric argument is abbrev.
Post-comma numeric argument is expansion.
String argument is "*" or modename.
Checks for break characters in abbrev (not allowed).C Allow user to edit the list of defined word abbrevs.
Note that any '"'s are doubled so that the syntax is unambiguous.
E.g. if the abbrev 'xsay' is to expand to 'He said "Hello".',
then it will be:
xsay: 1 "He said ""Hello""."
A recursive edit level is entered. When exited by ^R Exit the
buffer will be considered as new definitions of all word
abbrevs. Any abbrevs missing from the list will be killed.
Abort Recursive Edit will abort M-X Edit Word Abbrevs, leaving
word abbrevs untouched.%C Print some or all word abbrev definitions.
Lists a table of word abbrev definitions for currently defined
abbrevs.
If string argument is null, all abbrevs are listed.
If there is a string argument, it filters which abbrevs' definitions
are listed. (Actually, it is a TECO search string.) If the
abbrev, its mode, or its expansion contains the filter that
definition is listed.
Giving a numeric argument will control what the filter applies to:
0 or 7 (same as no argument): abbrev, mode, or expansion
1: abbrev only
2: expansion only
4: mode only
Combinations by summing the above -- e.g. 3 means abbrev or expansion,
but not mode.C Insert a list of some or all word abbrev definitions.
Inserts a table of word abbrev definitions for some or all of the
currently defined abbrevs. Format is that used by M-X List Word
Abbrevs and M-X Edit Word Abbrevs.
If string argument is null, all abbrevs are inserted.
If there is a string argument, it filters which abbrevs' definitions
are inserted. (Actually, it is a TECO search string.) If the
abbrev, its mode, or its expansion contains the filter, that
definition is inserted.
Giving a numeric argument will control what the filter applies to:
0 or 7 (same as no argument): abbrev, mode, or expansion
1: abbrev only
2: expansion only
4: mode only
Combinations by summing the above -- e.g. 3 means abbrev or
expansion, but not mode.
Extension writers: giving a 1 pre-comma argument causes the
definitions to be listed as they are inserted.tC Kill all abbrev definitions, leaving a blank slate.
It is as if you had not read or defined any word abbrevs.C Define word abbrevs from an abbrev definition file.
Stringarg is word abbrev definition file.
Default is <homedir>;WORDAB DEFNS.
File may be in default fast-loading foramt or human-readable format.
This will not complain if the file does not exist.4C Write all the current abbrev definitions to a file.
Stringarg filename. Default is WORDAB DEFNS.
Argument present means do not write out usage counts.
Normally writes a fast-loading format file, but if you have the
Readable Word Abbrev Files option variable set to 1, it will write
a human-readable format file (like that used by
List Word Abbrevs).
Default filenames come from last definition filename used.'C Write abbrevs defined/changed since dumping this environment.
Writes to file named by string argument. Defaults to home directory,
INCABS > (INCABS..0 on Twenex.).
This command is used by people with a large number of abbrevs, and who
dump their environments. The init file should generally use M-X
Write Word Abbrev File, and the & Startup... should use
M-X Read Incremental Word Abbrev File.gC Define abbrevs changed since dumping.
String argument is filename that contains incremental abbrev
definitions, written by M-X Write Incremental Word Abbrev
File. Default is home directory, INCABS >.
This command is used by people with a large number of abbrevs, and who
dump their environments. The init file should generally use M-X Write
Word Abbrev File, and the & Startup... should use this function.
This will not complain if the file does not exist.VS Like .V and .C combined, for speed.
STRARG1 is abbrev variable name.
STRARG2 is abbrev expansion with altmodes, ^]s quoted with ^]s.
STRARG3 is usage-count string.
Assumes ..Q is selected as buffer (..O).#S Like .V and .C combined,
but faster.
STRARG1 is abbrev variable name string.
STRARG2 is abbrev expansion string.
Assumes ..Q is selected as buffer (..O).C Abbrev will run a macro after expanding.
The last keyboard macro defined is attached to a word abbrev as its
word abbrev hook. Just after that abbrev expands, this hook is
executed.
BE CAREFUL!! -- keyboard macro attachment is not always
well-defined, due to some strange Teco effects. Not everything
works that "ought to".
First string argument is abbrev to attach it to. If null, the last
one defined is used.
Second string argument is mode (null means use current mode). Use "*"
if you mean to attach it to a global abbrev. If you are attaching
to the last defined abbrev, you can use anything for this string
argument.
Note that word abbrev hooks will be saved by M-X Write Word Abbrev
File and M-X Write Incremental Word Abbrev File, just like normal
abbrevs. Also, they appear in definition listings (e.g. by M-X
List Word Abbrevs or M-X Edit Word Abbrevs) in pairs, such as the
following:
textmode: #0 "-*-Text-*-"
textmode: (*-WABMAC) 0 "m(m.mText Mode)"jS Put some Teco code on a word abbrev.
The first string argument is the abbrev, second is mode name (or "*"
for global abbrev). Given null abbrev, we use the last defined.
The third string argument is a hook to call after expanding that
abbrev.
Note that word abbrev hooks get saved in incremental and full files,
just like normal abbrevs.kS Check for characters to change.
Calls a subroutine to see-if/do any expand characters need updating.S Check list of chars for expanders, fix.
q.1: List of characters.
q.6: ^R Macro to check against.
q.7: Subroutine to call if char runs .6.S Check list of expand characters for changes
q.1: List of characters.
q.6: ^R Macro to check against.
q.7: Subroutine to call if change.{S Make a self-inserter expander.
Caller has .2 bound to self-inserter builtin.
Numeric argument: 9-bit of key to use.GS Make a call-old expander.
Numeric argument: 9-bit of key to use.#S Reset char ARG to @fs^RInit.(S Reset char ARG to what was before.ZS Return Q.L or Q.V...
Returns Q.L if argument is a local q-register, Q.V otherwise.[S Produce a short string, showing beginning/end.
Numeric argument is a string pointer. & Setup WORDAB Library
Expand Word Abbrevs in Region
^R Abbrev Expand Only
^R Abbrev Expand And Call Old Char
^R Abbrev Expand And Self-Insert
^R Abbrev Expand for Tab
^R Word Abbrev Prefix Mark
& WRDAB Mode or Global Expand
& Global Expand
& Expand
^R Unexpand Last Word
WORDAB
Word Abbrev Mode
Old Word Abbrev Character Describe
Define Word Abbrevs
Make Word Abbrev
Make These Characters Expand
^R Add Mode Word Abbrev
^R Add Global Word Abbrev
^R Inverse Add Mode Word Abbrev
^R Inverse Add Global Word Abbrev
^R Kill Mode Word Abbrev
^R Kill Global Word Abbrev
& Add Word Abbrev
& Check And Make Word Abbrev
Edit Word Abbrevs
List Word Abbrevs
Insert Word Abbrevs
Kill All Word Abbrevs
Read Word Abbrev File
Write Word Abbrev File
Write Incremental Word Abbrev File
Read Incremental Word Abbrev File
& Make Usage Abbrev Variable
& Make Non-Usage Abbrev Variable
Attach Word Abbrev Keyboard Macro
& Attach Word Abbrev Hook
& WRDAB Process Options Hook
& WRDAB Off PO Check
& WRDAB On PO Check
& WRDAB Turn On Ins Char
& WRDAB Turn On Old Char
& WRDAB Turn Off Ins Char
& WRDAB Turn Off Old Char
& Global or Local
& Shorten String
\+8+fq(+4)[2 0[3
< %3,-q2f2u3 q3&1@; q3"l 0' >
f[BBind q3-1*5,q3*5g2 q:..o(0)+q2